package se

import "github.com/spf13/cobra"

// Context 上下文.
type Context struct {
	// DataBasePath 数据库目录.
	DataBasePath string
	Limit        uint
	Offset       uint
	Start        string
}

// NewContext 新建上下文.
func NewContext(cmd *cobra.Command) *Context {
	ctx := &Context{}

	if db, err := cmd.Flags().GetString("db"); db != "" && err == nil {
		ctx.DataBasePath = db
	}

	if limit, err := cmd.Flags().GetUint("limit"); err == nil {
		ctx.Limit = limit
	}

	if offset, err := cmd.Flags().GetUint("offset"); err == nil {
		ctx.Offset = offset
	}

	if start, err := cmd.Flags().GetString("start"); err == nil {
		ctx.Start = start
	}

	return ctx
}
